package com.csi.juegoweb.domain;

// Generated 05/03/2011 05:00:03 PM by Hibernate Tools 3.2.1.GA

import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Grupo generated by hbm2java
 */
@Entity
@Table(name = "grupo"

)
public class Grupo implements java.io.Serializable {

	private Integer coGrupo;
	private Jugador jugadorByCoJugcreador;
	private Jugador jugadorByCoJugreceptor;
	private Nivel nivel;
	private Integer qtUsuarios;
	private Set<GrupoUsuario> grupoUsuarios = new HashSet<GrupoUsuario>(0);
	private String flEstado;
	
	
	public Grupo() {
	}

	public Grupo(Integer coGrupo) {
		this.coGrupo=coGrupo;
	}
	
	public Grupo(Jugador jugadorByCoJugcreador, Jugador jugadorByCoJugreceptor,
			Nivel nivel, Integer qtUsuarios, Set<GrupoUsuario> grupoUsuarios) {
		this.jugadorByCoJugcreador = jugadorByCoJugcreador;
		this.jugadorByCoJugreceptor = jugadorByCoJugreceptor;
		this.nivel = nivel;
		this.qtUsuarios = qtUsuarios;
		this.grupoUsuarios = grupoUsuarios;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "Co_grupo", unique = true, nullable = false)
	public Integer getCoGrupo() {
		return this.coGrupo;
	}

	public void setCoGrupo(Integer coGrupo) {
		this.coGrupo = coGrupo;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "Co_jugcreador")
	public Jugador getJugadorByCoJugcreador() {
		return this.jugadorByCoJugcreador;
	}

	public void setJugadorByCoJugcreador(Jugador jugadorByCoJugcreador) {
		this.jugadorByCoJugcreador = jugadorByCoJugcreador;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "Co_jugreceptor")
	public Jugador getJugadorByCoJugreceptor() {
		return this.jugadorByCoJugreceptor;
	}

	public void setJugadorByCoJugreceptor(Jugador jugadorByCoJugreceptor) {
		this.jugadorByCoJugreceptor = jugadorByCoJugreceptor;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "Co_Nivel")
	public Nivel getNivel() {
		return this.nivel;
	}

	public void setNivel(Nivel nivel) {
		this.nivel = nivel;
	}

	@Column(name = "Qt_Usuarios")
	public Integer getQtUsuarios() {
		return this.qtUsuarios;
	}

	public void setQtUsuarios(Integer qtUsuarios) {
		this.qtUsuarios = qtUsuarios;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "grupo")
	public Set<GrupoUsuario> getGrupoUsuarios() {
		return this.grupoUsuarios;
	}

	public void setGrupoUsuarios(Set<GrupoUsuario> grupoUsuarios) {
		this.grupoUsuarios = grupoUsuarios;
	}
	
	@Column(name = "Fl_estado")
	public String getFlEstado() {
		return flEstado;
	}

	public void setFlEstado(String flEstado) {
		this.flEstado = flEstado;
	}

}
